Field of the Invention
The present invention generally relates to compute tasks and more specifically to scheduling and execution of compute tasks.
Description of the Related Art
Conventional scheduling of compute tasks for execution in multiple processor systems relies on an application program or driver. During execution of the compute tasks, interaction between the driver and multiple processors that is needed to allow the driver to schedule the compute tasks may delay execution of the compute tasks.
Accordingly, what is needed in the art is a system and method for dynamically scheduling compute tasks for execution based on the processing resources and priorities of the available compute tasks. Importantly, the scheduling mechanism should not depend on or require software or driver interaction.